In an IP (Internet Protocol) network, two modes are conventionally used for the transmission of data; one is a unicast mode and the other is a multicast method. In the unicast mode, an address of an expected data receiver is specified in a header of an IP data packet to be transmitted, and routers in the network transmit the IP data packet to the specified address. In the multicast mode, on the other hand, a group address for a number of expected data receivers are identified in a header of an IP data packet, so that the routers in the network make copies of the IP data packet and transmit the copied data to the number of receivers, simultaneously. Thus, the unicast mode is used for a one-to-one transmission of data while the multicast mode is used for a one-to-many transmission of data.
The multicast mode is widely used to provide information to be shared by a plurality of receivers, e.g., information on a movie. However, in the multicast mode, an overload situation is frequently caused since the routers in the network perform a multicast routing to the number of receivers or other routers by copying the IP data. Further, while the multicast mode is highly efficient for the transmission of the same data to a number of receivers, it is inefficient in case that the number of receivers is expected to be only a few, e.g., in cases such as a multi-user telephonic communication in the Internet Telephony, a network game, a multi-user audio-video conference.
An X-cast technique is developed for solving a problem of inefficiency of multicast technique when used for a multicast group having a few receivers. In the X-cast mode, a source (or a sender) provides an X-cast packet. The X-cast packet includes an X-cast header located between an IP header and a TCP (Transmission Control Protocol) header. The IP header has information indicating the X-cast mode and the X-cast header has addresses of receivers. By using the addresses in the X-cast header, the routers in the network decide paths or next routers through which the X-cast packet is transmitted to the receivers.
In the X-cast mode, a destination router (a router connected to receivers designated by addresses in the X-past header) routes an IP data packet to the receivers by using the unicast mode. As described above, routers in the X-cast mode does not multicast IP data packets so that the load of the routers is decreased. Further, in the X-cast mode, data transmission to a group of a few receivers can be performed in efficient manner.
However, in the X-cast mode, a source must know the addresses of receivers to send a data packet in advance of transmitting the data packet. Further, the X-cast mode is suitable only for transmitting a data packet to a multicast group having a few receivers since the length of an X-cast packet header is proportional to the number of the receivers belonging to the multicast group.